﻿using DocumentFormat.OpenXml.Lite.DrawingML.Text;
using DocumentFormat.OpenXml.Lite.DrawingML.Transformation;
using DocumentFormat.OpenXml.Lite.Xml;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace DocumentFormat.OpenXml.Lite.DrawingML.Geometry
{
    [XmlRoot("custGeom", Namespace = Constants.Main)]
    public class CustomGeometry : XmlSerializable, IGeometry
    {
        [Optional]
        [XmlElement("avLst", Namespace = Constants.Main)]
        public AdjustValueList AdjustValues { get; set; }

        [Optional]
        [XmlElement("gdLst", Namespace = Constants.Main)]
        public AdjustValueList ShapeGuides { get; set; }

        [Optional]
        [XmlElement("ahLst", Namespace = Constants.Main)]
        public AdjustHandle AdjustHandleList { get; set; }

        [Optional]
        [XmlElement("cnxLst", Namespace = Constants.Main)]
        public AdjustHandle ShpaeConnectionSites { get; set; }

        [Optional]
        [XmlElement("rect", Namespace = Constants.Main)]
        public Rectangle TextRectangle { get; set; }

        [Optional]
        [XmlElement("pathLst", Namespace = Constants.Main)]
        public ShapePaths ShapePaths { get; set; }

        public CustomGeometry() { }
    }
}
